<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// function show(){
			// 	//arguments.callee 当前函数本身
			// 	//console.log(arguments.callee);
				
			// 	//函数再那个地方调用的  arguments.callee.caller
			// 	//如果是全局--->null
   //              //如果再某个函数里---》某个函数
			// 	console.log(arguments.callee.caller);//null
			// }
			// //show(1,2,3)
			
			
			// function outer(){
			// 	show(1,2,3);
			// }
			// outer()
			
			//严格模式下 arguments.callee 失效
			
			"use strict";//开启严格模式
			
			var i=0;
			(function fn(){//匿名函数具名化
			    //fn=10;//2.匿名函数具名化的函数不允许修改值
				
				if(i>=5){
					return;
				}
				i++;
				console.log(i);//1，2，3，4，5
				
				fn();
				//arguments.callee();
			})()
			
			//fn();//1.不能外面用
			
			
		// 	var i=0;
		// 	(function(){//匿名函数具名化
		// 	    //fn=10;//2.匿名函数具名化的函数不允许修改值
				
		// 		if(i>=5){
		// 			return;
		// 		}
		// 		i++;
		// 		console.log(i);//1，2，3，4，5
		
		// 	    arguments.callee();
		// 	})()
		</script>
	</body>
</html>
